<!DOCTYPE html>
<html lang="ja">

<head>
  <meta charset="utf-8">
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
  <meta http-equiv="Content-Style-Type" content="text/css">
  <script src='../bbs.js'></script>

  <!-- Global site tag (gtag.js) - Google Analytics -->
  <script async src="https://www.googletagmanager.com/gtag/js?id=UA-120820034-1"></script>

  <link href="../bbs.css" type="text/css" rel="stylesheet">
  <link rel="shortcut icon" href="/favicon.ico">
  <title>行頭文字の置換の対応 | サクラエディタ過去ログ</title>
</head>
<body>
<ul class="side">
        <a href="./" class="toindex">◀ANSI版開発トップへ</a>
        <li><div class="list-title">
    <span class="no">4228</span>
    <a class="thread-title" href="4228.html#4228">行頭文字の置換の対応</a></div>
    <ul><li><div class="list-title">
    <span class="no">4280</span>
    <a class="thread-title" href="4228.html#4280">Re:行頭文字の置換の対応</a></div>
    <ul><li><div class="list-title">
    <span class="no">4360</span>
    <a class="thread-title" href="4228.html#4360">Re2:行頭文字の置換の対応</a></div>
    <ul><li><div class="list-title">
    <span class="no">4361</span>
    <a class="thread-title" href="4228.html#4361">Re3:行頭文字の置換の対応</a></div>
    <ul><li><div class="list-title">
    <span class="no">4363</span>
    <a class="thread-title" href="4228.html#4363">Re4:行頭文字の置換の対応</a></div>
    <ul><li><div class="list-title">
    <span class="no">4365</span>
    <a class="thread-title" href="4228.html#4365">Re5:行頭文字の置換の対応</a></div>
    <ul><li><div class="list-title">
    <span class="no">4367</span>
    <a class="thread-title" href="4228.html#4367">Re6:行頭文字の置換の対応</a></div>
    <ul><li><div class="list-title">
    <span class="no">4369</span>
    <a class="thread-title" href="4228.html#4369">Re7:行頭文字の置換の対応</a></div>
    <ul><li><div class="list-title">
    <span class="no">4370</span>
    <a class="thread-title" href="4228.html#4370">Re8:行頭文字の置換の対応</a></div>
    <ul><li><div class="list-title">
    <span class="no">4372</span>
    <a class="thread-title" href="4228.html#4372">Re9:行頭文字の置換の対応</a></div>
    </li></ul></li></ul></li></ul></li></ul></li><li><div class="list-title">
    <span class="no">4390</span>
    <a class="thread-title" href="4228.html#4390">Re5:行頭文字の置換の対応</a></div>
    </li></ul></li></ul></li></ul></li></ul></li></ul></li>
    </ul><ul class="main"><li><section><h1 id=4228>
    <span class="no">[4228]</span>
    <a class="thread-title" href="#4228">行頭文字の置換の対応</a>
    <span class="author">かろと</span>
    <time datetime="2006-01-22T19:13:57">2006年01月22日 19:13</time></h1>
    <div class="body"><br>一般：4742,4996<br>開発：3326<br>などで、何度も出てきているので、なんらかの対応はした方がベターとは思いつつ、<br>バグじゃないし、個人的には必要がないため全く手を出す気がなかったのですが、<br>ちょっとだけ手出ししました。<br><br>ユーザインターフェースや名称をどうしたらいいのか？という点は、議論すべきと思いますので、<br>とりあえず、置換ダイアログに「すべて行置換」という名称でボタンを「すべて置換」の下に配置して、<br>お試し版という形で公開したいと思います。<br><br>マクロなどの対応もしてませんし、<br>明日からしばらく仕事が忙しく、手を付けられそうにないため、<br>後はどなたかが引き継いでくれないかと期待しております。<br><br>変更点は、<br>先読み対応した時に、BREGEXPライブラリには行全体を渡すようにしたので、<br>ＵＩ以外の変更量はそんなに多くなく、<br><br>・「すべて行置換」時は、/gオプションをつけられるように CBregexp::optGlobal追加。<br>・Command_REPLACE_ALLに引数を指定して、「すべて行置換」と「すべて置換」を指定できるように変更。<br>・「全て行置換」時は、置換文字列を行末まで貼り付けられるように、選択範囲をマッチ文字列でなく行末までに変更する処理を追加。<br><br>となってます。<br><br>あと、<br>REPLACEダイアログの「すべて置換」ボタンのＩＤが IDC_BUTTON_REPALCEALLとなっていて<br>REPLACEの綴りが間違っているのに気が付いたけど、放置してます。ｗ<br><br>＜実行形式：R1591ベース＞<br><a href=http://karoto.hp.infoseek.co.jp/Archive/sakura_20060122.lzh target=_top><nobr>http://<wbr>karoto.<wbr>hp.<wbr>infoseek<wbr>.<wbr>co.<wbr>jp/<wbr>Archive/<wbr>sakura_2<wbr>0060122.<wbr>lzh</nobr></a><br><br>＜差分：R1591から＞<br><a href=http://karoto.hp.infoseek.co.jp/Archive/sakura_R1591_to_20060122.lzh target=_top><nobr>http://<wbr>karoto.<wbr>hp.<wbr>infoseek<wbr>.<wbr>co.<wbr>jp/<wbr>Archive/<wbr>sakura_R<wbr>1591_to_<wbr>20060122<wbr>.<wbr>lzh</nobr></a><br></div></section>
    <ul><li><section><h1 id=4280>
    <span class="no">[4280]</span>
    <a class="thread-title" href="#4280">Re:行頭文字の置換の対応</a>
    <span class="author">かろと</span>
    <time datetime="2006-02-22T00:59:50">2006年02月22日 00:59</time></h1>
    <div class="body">▼ かろとさん<br>&gt; ユーザインターフェースや名称をどうしたらいいのか？という点は、議論すべきと思いますので、<br>&gt; とりあえず、置換ダイアログに「すべて行置換」という名称でボタンを「すべて置換」の下に配置して、<br>&gt; お試し版という形で公開したいと思います。<br><br>ご無沙汰してました。長旅から戻ってきました。<br>特にレスもないようなので、このままの名称とＵＩで完成させようと思います。<br>意見ある方はお早めに。<br></div></section>
    <ul><li><section><h1 id=4360>
    <span class="no">[4360]</span>
    <a class="thread-title" href="#4360">Re2:行頭文字の置換の対応</a>
    <span class="author">かろと</span>
    <time datetime="2006-04-01T12:10:12">2006年04月01日 12:10</time></h1>
    <div class="body"><br>最近忙しくて・・・遅くなりました。<br><br>マクロも対応して、パッチ置きました。<br><br><a href=http://sourceforge.net/tracker/index.php?func=detail&aid=1462518&group_id=12488&atid=312488 target=_top><nobr>http://<wbr>sourcefo<wbr>rge.<wbr>net/<wbr>tracker/<wbr>index.<wbr>php?<wbr>func=<wbr>detail&amp;<wbr>aid=<wbr>1462518&amp;<wbr>group_id<wbr>=<wbr>12488&amp;<wbr>atid=<wbr>312488</nobr></a><br><br>お試しバイナリは、こちら<br>＜実行形式：R955＞<br><a href=http://karoto.hp.infoseek.co.jp/Archive/sakura_r955_0401.lzh target=_top><nobr>http://<wbr>karoto.<wbr>hp.<wbr>infoseek<wbr>.<wbr>co.<wbr>jp/<wbr>Archive/<wbr>sakura_r<wbr>955_0401<wbr>.<wbr>lzh</nobr></a><br></div></section>
    <ul><li><section><h1 id=4361>
    <span class="no">[4361]</span>
    <a class="thread-title" href="#4361">Re3:行頭文字の置換の対応</a>
    <span class="author">げんた</span>
    <time datetime="2006-04-02T03:08:34">2006年04月02日 03:08</time></h1>
    <div class="body">試してみました．<br><br>1行で複数回Hitする場合に，行置換だと1行を1回で処理するので，置換した数といってもヒットした行数になりますよね．<br>1行でたくさん置換しているのに最後に報告された数が妙に少ないなー，と疑問に思う人がいるかもしれません．<br><br>ダイアログボックスで，「すべて行置換」ボタンのTAB Orderがちょいと変ですね．<br>最後まで行って追加したボタンに戻ります．(sakura.rcで順番を入れ換えるだけですが)<br><br>Funccode.hで，機能的に近いためかすべて置換のすぐ下にdefineが挿入されていますが，使用済み番号が一目でわかるためにここは番号順に並べた方がよいと思います．<br><br>CEditView_Command.cppでCommand_REPLACE_ALL()に引数を追加していますが，従来の行は引数無しで記述されています．従来の方はデフォルト値が渡されるというのはわかるのですが，ここは次の行との待避のためにも引数を明示的に書いた方がいいと思います．<br><br>CEditView_Command.cppのCommand_REPLACE_ALL()中<br>// 正規表現オプションの設定<br>cRegexp.optCaseSensitive<br>cRegexp.optGlobal<br>cRegexp.optNothing<br>と使われていますが，これらはenum値なのでcRegexp.の代わりにCBregexp::の方が一般的なのかなと思いますが．<br></div></section>
    <ul><li><section><h1 id=4363>
    <span class="no">[4363]</span>
    <a class="thread-title" href="#4363">Re4:行頭文字の置換の対応</a>
    <span class="author">かろと</span>
    <time datetime="2006-04-02T14:10:14">2006年04月02日 14:10</time></h1>
    <div class="body">確認ありがとうございます。<br><br>▼ げんたさん<br>&gt; 1行で複数回Hitする場合に，行置換だと1行を1回で処理するので，置換した数といってもヒットした行数になりますよね．<br>&gt; 1行でたくさん置換しているのに最後に報告された数が妙に少ないなー，と疑問に思う人がいるかもしれません．<br><br>確かに・・・行置換時も個数を報告できないかと思いましたが、<br>置換個数を知る方法がないみたいなので、諦めて、行置換時は行数を報告するように変更しました。<br><br>&gt; ダイアログボックスで，「すべて行置換」ボタンのTAB Orderがちょいと変ですね．<br>&gt; 最後まで行って追加したボタンに戻ります．(sakura.rcで順番を入れ換えるだけですが)<br><br>修正しました。<br><br>&gt; Funccode.hで，機能的に近いためかすべて置換のすぐ下にdefineが挿入されていますが，使用済み番号が一目でわかるためにここは番号順に並べた方がよいと思います．<br><br>私も、番号順の方が空き番号が探しやすいので、最初番号順に挿入しようと思ったのですが、回りを見て<br>F_FILESAVEALL<br>F_FILE_REOPEN_UNICODEBE<br>F_TOHANKATA<br>F_CODECNV_UNICODEBE2SJIS<br>などが、敢えて機能順に並べているので、回りに合わせてしまいました。<br>番号順に並べるのを良しとするなら、後から追加する人が見ても番号順に入れたくなるように例外を修正しておいた方が良さそうです。<br><br><br>&gt; CEditView_Command.cppでCommand_REPLACE_ALL()に引数を追加していますが，従来の行は引数無しで記述されています．従来の方はデフォルト値が渡されるというのはわかるのですが，ここは次の行との待避のためにも引数を明示的に書いた方がいいと思います．<br><br>了解です。同感です。<br><br>&gt; CEditView_Command.cppのCommand_REPLACE_ALL()中<br>&gt; と使われていますが，これらはenum値なのでcRegexp.の代わりにCBregexp::の方が一般的なのかなと思いますが．<br><br>クラス名に関係なく書ける方が、修正に強いかと思って、書いてました。<br>他のソースを見ても、クラス名:: で参照しているようなので、統一しておきます。<br><br>＜パッチ＞<br>http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1462518&amp;group_id=12488&amp;atid=312488<br><br>お試しバイナリは、こちら<br>＜実行形式：R955＞<br>http://karoto.hp.infoseek.co.jp/Archive/sakura_r955_0402.lzh<br></div></section>
    <ul><li><section><h1 id=4365>
    <span class="no">[4365]</span>
    <a class="thread-title" href="#4365">Re5:行頭文字の置換の対応</a>
    <span class="author">maru</span>
    <time datetime="2006-04-03T21:41:08">2006年04月03日 21:41</time></h1>
    <div class="body">▼ かろとさん<br>&gt; ユーザインターフェースや名称をどうしたらいいのか<br><br>割り込みですいません。<br>「すべて置換」と「すべて行置換」の２本立て、ということですよね？<br>過去ログから「すべて行置換」の動作はなんとなく分かりましたが<br>従来の「すべて置換」を残している理由が分からなくて…。<br>お時間許せば、使い分けどころを解説いただけると助かります。</div></section>
    <ul><li><section><h1 id=4367>
    <span class="no">[4367]</span>
    <a class="thread-title" href="#4367">Re6:行頭文字の置換の対応</a>
    <span class="author">かろと</span>
    <time datetime="2006-04-03T23:56:01">2006年04月03日 23:56</time></h1>
    <div class="body">&gt;タイトル: Re6:行頭文字の置換の対応<br>&gt;発言者: maru<br>&gt;「すべて置換」と「すべて行置換」の２本立て、ということですよね？<br>&gt;過去ログから「すべて行置換」の動作はなんとなく分かりましたが<br>&gt;従来の「すべて置換」を残している理由が分からなくて…。<br><br>maruさん。ご意見ありがとうございます。<br><br>過去のログから、「すべて行置換」の動作だけで良いという発言をした方もいたと思いますが、<br>私はそれに賛同して、今回のパッチを作っていないので、２本建てということと理解ください。<br><br>更に言えば、私自身「すべて行置換」は必要と思ってないが、（２つあってわかりにくい）<br>下記１の変換がしたいという要望もあるので、「行置換」を追加。とさせて頂きました。<br><br>すでにどこかで書いたように、「行置換」では、通常の置換と動作が異なるところが出てきますので、<br>従来の「すべて置換」を削除するのは、あり得ないと思います。<br><br>もし、２つあってわかりにくいという意見が出てきたら、従来通り「すべて置換」だけにするのが筋と思ってます。<br><br><br>&gt;お時間許せば、使い分けどころを解説いただけると助かります。<br><br>これまで出てきた要望を考えると、<br>強いて言えば・・・<br><br>１．「すべて行置換」を使う場合<br>　「aaaaaaaaa」を置換するときに<br>　「^a」→「」で、行頭の１文字だけを消したい場合<br><br>２．「すべて置換」を使う場合<br><br>　それ以外<br><br>となるのではないかと思います。<br></div></section>
    <ul><li><section><h1 id=4369>
    <span class="no">[4369]</span>
    <a class="thread-title" href="#4369">Re7:行頭文字の置換の対応</a>
    <span class="author">じゅうじ</span>
    <time datetime="2006-04-04T14:08:31">2006年04月04日 14:08</time></h1>
    <div class="body">▼ maru さん<br>今ある、「すべて置換」は、<br>「前検索」「置換」・・・の繰り返し（「先頭から再検索」付き）だと思います。<br><br>表示については、検索・置換の検索ボックスを開くと、桁位置のキャレットが消えて、どこからの検索・置換開始か分からなくなります。<br><br>▼かろと さん<br>「全て行置換」で行う、先頭行置換は、/g を付けても１回のみの置換になると思います。<br>なので、今の「すべて置換」は無くなっても済ませられると思います。<br><br>下記２については、「abababa」が「^ab」⇒「」で、<br>１回の「すべて置換」で削除されるのを期待している「マクロ」が有るかもしれない、という理解でよろしいでしょうか？</div></section>
    <ul><li><section><h1 id=4370>
    <span class="no">[4370]</span>
    <a class="thread-title" href="#4370">Re8:行頭文字の置換の対応</a>
    <span class="author">かろと</span>
    <time datetime="2006-04-04T22:03:25">2006年04月04日 22:03</time></h1>
    <div class="body">&gt;タイトル: Re8:行頭文字の置換の対応<br>&gt;発言者: じゅうじ<br>&gt;▼かろと さん<br>&gt;「全て行置換」で行う、先頭行置換は、/g を付けても１回のみの置換になると思います。<br><br>これまで書いてなかったのかもしれませんが、「すべて行置換」は、 /g つきです。<br>（「すべて行置換」の場合、/g をつけないと、１行で１回しか置換できないので）<br>つまり、/g の有無で表現すれば、<br>「すべて置換」は /g なしで、「すべて行置換」が /g付きです。<br><br>&gt;なので、今の「すべて置換」は無くなっても済ませられると思います。<br><br>「すべて行置換」だけになると、<br>&gt;「前検索」「置換」・・・の繰り返し<br>が出来なくなることが問題だと思ってます。<br><br>私は、「すべて置換」やる前に、まず「検索」「置換」をやってみて、自分の思った置換が出来ていると<br>「すべて置換」とやります。<br>この前提は、「検索」「置換」と「すべて置換」が同じ動作であることです。<br><br>すべて置換がなくなって、常に [/g]付きだと困ります。（正確に言うと、困る場合が出るかも？）<br><br><br>&gt;下記２については、「abababa」が「^ab」⇒「」で、<br>&gt;１回の「すべて置換」で削除されるのを期待している「マクロ」が有るかもしれない、という理解でよろしいでしょうか？<br><br>私が言いたかったのは、<br>行頭の文字が１回だけ消えて欲しい場合だけ、「すべて行置換」(つまり/gつき)<br>他の場合は、「検索」「置換」と同じ動作をして欲しいので、「すべて置換」（つまり/gなし）<br>ということで、そういうマクロがあるのかは不明です。でも、確かに、そういうマクロがあれば期待通りでなくなるので困りますね。<br><br>他にも、/g の有無で、 \b や + , * など使った場合に、差が出ると聞いたことがあります。<br></div></section>
    <ul><li><section><h1 id=4372>
    <span class="no">[4372]</span>
    <a class="thread-title" href="#4372">Re9:行頭文字の置換の対応</a>
    <span class="author">maru</span>
    <time datetime="2006-04-05T00:35:31">2006年04月05日 00:35</time></h1>
    <div class="body">行置換の名前の由来がようやくわかりました。<br>ありがとうございます。<br>ＵＩとしては…なんとも難しいところですね。</div></section>
    </li></ul></li></ul></li></ul></li></ul></li><li><section><h1 id=4390>
    <span class="no">[4390]</span>
    <a class="thread-title" href="#4390">Re5:行頭文字の置換の対応</a>
    <span class="author">げんた</span>
    <time datetime="2006-04-08T13:05:42">2006年04月08日 13:05</time></h1>
    <div class="body">sakura/trunk#958でCommitしました．<br></div></section>
    </li></ul></li></ul></li></ul></li></ul></li></ul></li></ul></body></html>